The invention relates to communications systems, and more particularly to techniques, including a protocol, for effecting supplementary services in a communications system.
It is known to provide a wide variety of services to users of various types of telephone equipment. To access this type of service, the user can establish a connection with a service node (SN), which can be a switch or computer with or without switching capability. In many systems, an application program running in the SN uses the voice channel for sending voice prompts and tones to the telephone. The voice channel is also utilized in the reverse direction for sending dual-tone multi-frequency (DTMF) digits from the telephone to the SN. In such a system, it is not required that the telephone include any intelligence; the dialogue is entirely between the user and the SN, whereby the user listens to voice prompts and tones, and responds by pressing keys on the telephone. Consequently, the telephone is transparent to the communication and cannot support the user in any way.
More advanced services are known as well. Such services include provision of an 800 Services Database, a Credit Card Verification Database, Geographic Call Routing, Incoming Call Routing, Multilocation Extension Dialing, Network Automatic Call Distribution, Flexible Call Routing, Flexible Carrier Selection, and others. In wireline telephone systems, such enhanced subscriber services may be provided through an Intelligent Network (IN) (e.g., Bellcore Advanced Intelligent Network (AIN) or its CCITT/ITU equivalent: ITU's CS-1, Q.1200, etc.).
In wireless communications systems, enhanced subscriber services may be provided by an intelligent mobile station (also called "intelligent terminal"), such as that which is described in U.S. patent application Ser. No. 08/617,139, entitled INTELLIGENT MOBILE STATION FOR A CELLULAR TELECOMMUNICATIONS NETWORK, filed on Mar. 18, 1996 (Attorney Docket No. 1000-0022), now U.S. Pat. No. 5,905,458 which is hereby incorporated by reference herein. Some enhanced services may alternatively be provided by an intelligent mobile station working in cooperation with a SN. To accomodate different services, the computer in the SN may include a wide variety of resources, such as various interface and switching units, facsmile units, voice processing units, an e-mail interface, computer network interfaces, modem resources and data storage. These resources are controlled by software that interacts with software in the intelligent terminal. The SN may be a single user solution or a multi-user solution with one or a number of interacting SNs.
The interaction between the SN and the intelligent terminal takes place via a communications link which is herein referred to as a control channel. The control channel can be established as a modem connection on the voice channel, or may alternatively be established on a separate communication link. FIGS. 1a-1d illustrate possible arrangements for a SN to facilitate the provision of services to a user of a cellular or ordinary fixed telephone.
FIG. 1a illustrates a case where a cellular telephone 101 includes a modem 103 and software 105 for providing one or more services. A SN 107 that includes software 109 and a modem 111 is also provided in the system. It is possible to establish a communications link between the cellular telephone 101 and the SN 107 by means of a cellular network 113 and any other network 115 (e.g., a public or private network). The SN 107 may be part of the other network 115 as shown, or may be part of the cellular network 113, or can even be added to one of these networks as an overlay solution (i.e., in the same way that a private access branch exchange (PABX) is connected to a public network). The two modems 103, 111 provide a mechanism for the physical transmission of information between the service node 107 and the cellular telephone 101 to take place. The information flows between the SN's software 107 and the cellular telephone's software 105.
FIG. 1b shows an alternative arrangement that is substantially the same as that depicted in FIG. 1a except for the fact that the cellular telephone no longer includes its own modem 103. Instead, this facility is provided inside the radio base station 117. From the point of view of the software 105 inside the cellular telephone, however, there is no difference in the sense that service-related information still flows between the SN's software 107 and the cellular telephone's software 105.
FIG. 1c shows an arrangement for providing service to an ordinary fixed analog telephone 119. Here, the fixed telephone 119 is connected to a modem resource 121 that also includes software 123 for providing one or more services. Another difference from the previously described arrangements is the substitution of a fixed network 125 for the cellular network 113. In all other respects, this arrangement functions like the arrangements of FIGS. 1a and 1b, with the SN's software 111 exchanging information with the software 123 as required for providing the various services.
Yet another arrangement is shown in FIG. 1d. Here, a fixed digital telephone 127 is tied directly to a fixed digital network 129 without the need for any modem. The SN 107, which includes the software 109, is also tied directly to the fixed digital network 129. The SN's software 111 exchanges information with the software 123 as required for providing the various types of service.
It can be seen from the above that the SN 107 and the "service telephone" (e.g., any of the celular or fixed telephones 101, 119, 127) must have interacting software and the same modem capability. This is most efficiently supported by two different communication protocols: one higher level protocol (henceforth referred to as an "application protocol") for supporting the interacting software (or service software) communications and a lower level protocol for supporting the communication between the modems. This layering of protocols is depicted in FIGS. 2a and 2b. The layering of protocols is generally known in the art, and is not described here in greater detail.
FIG. 3 shows the possibility of supplying a single SN 107 with interfaces to different telephones 301, 303, 305, 307 even if the user is one person and the calling party only calls one telephone number to the SN 107. The software 309 in the SN 107 can page the user on different telephone numbers (unknown to the calling party).
The nature of the new services that will use the control channel requires that the application protocol be open to supporting new functions and/or services. However, some implementations of the control channel provide only a limited bandwidth for conveying the information associated with these new functions and/or services. Consequently, an effective application protocol is highly desirable.
In the ETSI recommendatesions for the pan-European GSM system, phase 2, there are specified a number of supplementary services which can complement and modify both teleservices and bearer services. For example, there are services for barring or forwarding calls and services for toggling between two connected calls. In addition to the standardized GSM supplementary services, mobile network operators are experiencing an increasing demand for operator-specific service.
For an operator to be able to implement operator-specific services, it is necessary to have a generic mechanism for user interaction between a service application in the network and a mobile station.
In GSM today, there is a generic mechanism for providing userinteractin between a service application in the netowrk and a mobile station. This mechanism is called "Unstructured Supplementary Services Data" (USSD). What is described about USSD in the following text is valid for USSD according to GSM, phase 2. USSD also exists in GSM, phase 1, but the dialogue handling is more limited.
Referring to FIG. 4, in the GSM switching system, USSD is a part of the well-known "Mobile Application Part" (MAP) protocol 401. In the air interface, the USSD operations are carried by the layer 3 "Register", "Facility" and "Release Complete" messages 403.
The USSD service application can reside in the Mobile services Switching Center/Visitor Location Register (MSC/VLR) 405, in the Home Location Register (HLR) 407, or in an external Mobile Service Node (MSN) 409. If a USSD service application is implemented in an MSN, an extension of the MAP-protocol, "USSD to external node" should be used.
The USSD operations are generic and send text transparently through the network. Text received from a service application in the network is displayed by the MS 411. Correspondingly, the user keyboard input from the MS 411 is transparently sent to the service application in the network.
USSD has a dialogue structure. A dialogue could be initiated by the service application in the network, or alternatively by the MS 411. A USSD dialogue can exist independently of whether there is a parallel speech connection or not.
If the network service application initiates a USSD dialogue, it invokes a Request or Notify operation. When the MS 411 has received, from the network service application (e.g., the USSD appl 1 in the MSCIVLR 405), a USSD Request operation containing a text string to be displayed, the MS 411 displays this text. The input string from the user is returned n the result operation to the network service application. It is also possible for the network service application to invoke a USSD Notification operation, containing text to be displayed. The difference between Request and Notification is that no response from the user is required in the case of Notification. Only an acknowledge operation is returned to the network service application.
The user of the MS 411 is also able to initiate a USSD dialogue by performing a specified Man Machine Interface (MMI) input. When this input has been performed, the MS 411 invokes, to the network, a "Process Unstructured USSD Request" operation containing the input from the user. This MMI input should contain a unique service code which identifies the application to the network and makes it possible to route the operati to the correct network node. Then, the network service application can reply with a result operation, containing text to be displayed. The network service application can then terminate the dialogue. It is also possible for the network service application to continue the dialogue by invoking a USSD Request or Notify operation. After the reply has been received from the MS 411, the network service application may continue the dialogue by invoking more USSD Request or Notify operations.
A USSD service example will now be described with reference to FIG. 5. At step 501, a user enters the service code for information services into his MS 411. In response, the MS 411 issues a Proc USSD request invoke (user input=USSD serv code) to the HLR, MSC/VLR or External node 551 in which both the USSD service provider 553 and the service application 555 are located (step 503). The USSD service provider 553 receives the Proc USSD request invoke, and passes the pertinent command and parameter information up to the service application 555. For the remainder of this description, the service application 555 will be referenced as the recipient and source of messages received from and sent to the MS 411. However, it will be recognized that these messages pass through the lower layer USSD service provider 553.
The service application 555 passes a response back to the USSD service provider 553, which in turn transmits a USSD request invoke ("INFO SERV &lt;LF&gt;1Weather &lt;LF&gt;2 TeleNum . . . ") back to the MS 411 (step 505). This causes the MS 411 to display the received text to the user.
In this example, the user selects "Weather" by entering 1 and pressing the YES key on the MS 411 (step 507). This causes the MS 411 to transmit a USSD request result (user input=1) to the service application 555 (step 509).
In response, the service application 555 causes a USSD request invoke ("WEATHER &lt;LF&gt;Enter area:") message to be sent to the MS 411 (step 511).
After this new text is displayed to the user, the user enters (in this example) 046 and presses the YES key on the MS 411 (step 513). This causes a USSD reuest result (user input=046) to be transmitted to the service application 555 (step 515). The interaction between the service application 555 and the user of the MS 411 continues in this fashion until the service has been provided and the connection is broken.
It can be seen from the above that USSD works as a user interaction mechanism for simple operator-specific services, but that it has some drawbacks, especially when more advanced services need to be implemented. These drawbacks include:
1. Long response times due to low bandwidth (300-600 bits/sec), inefficient coding (short message service (SMS) 7-bit alphabet) and the fact that all service logic must reside in the service application in the network because the MS 411 is an unintelligent terminal. For example, an MS menu must be sent to the MS each time it needs to be displayed to the user. Also, the user selection must be sent to the network service application where a logical decision is made. Thus, communication speed between the application service provider and the MS is critical to a good response time. However, as stated above, USSD has a low bandwidth in the range 300-600 bits/sec. Generally, a limited bandwidth communications means is one that cannot operate at rates higher than about 1000 bits/sec.
2. The MS user interface for services using USSD is primitive and the normal MS MMI paradigm can not be used. For example, if the service contans menu handling, each menu-option must be identified by a digit (or other alphanumeric character). The user returns the digit (or other alphanumeric character) that corresponds to the selected option. This way of handling menus is not user-friendly and gives a menu-paradigm that differs from other menus in the MS 411.
Also note that this user interface cannot be utiliszed if the MS 411 supports a graphical user interface.
3. Local MS functions can not be utilized by USSD services. For example, no intelligent call handling can be performed and access to the local telephone book (number to name translation) is not possible.
4. Timers in the network limit the length of life for USSD services.
5. Limited length of the text strings sent between the MS 411 and the service application 555 in the network.
6. In the MS 411, only one USSD dialogue at a time can be active.
Other strategies for user interaction are known. These include:
Analog Display Services Interface (ADSI): This is a communication protocol for bidirectional transmission of data betseen a "Stored Program Controlled Switching system (SPCS, "service node") and an Analog Display Services Customer Premises Equipment (CPE, "terminal"). The data transmission can be performed over the voice path using FFSK and DTMF. PA1 The WWW-HTTP/HTML concept used by Internet WWW-servers and clients: The main problem with the WWW-concept is the reuired bandwidth. WWW requires at least a 9.6 Kbits/s data channel, while the average throughput for a USSD connection is in the range of 300-600 bits/s. If a data channel is used as the bearer instead of USSD, then no parallel speech connection could exist. Also, WWW s based on a strictly client server concept. There is no way for the server to start the interaction between the client and the server.
The design of ADSI is based on having loadable service logic in the terminal. However, ADSI has the limitatino in that it specifies the whole protocol stack in the fixed network, that is, it is not bearer independent and it can not be used as an application protocol above USSD.